VPC エンドポイントを設定した VPC からパブリックな API Gateway に通信できない場合の対処方法
困っていること
API Gateway プライベート API 用の VPC エンドポイントを関連づけた VPC に配置した EC2 からパブリックな API Gateway に接続できなくなりました。 どのようにすればエラーが解消できますか?
どう対応すればいいの?
カスタムドメインを利用した接続のご利用、もしくは「プライベート DNS 名を有効にする」オプションの無効化をお試しください。
「プライベート DNS 名を有効にする」オプションが有効化されている VPC エンドポイントが VPC に関連づけられている場合、その VPC 内からの API Gateway のデフォルトエンドポイントである「*.execute-api.
その結果、カスタムドメインを設定していないパブリックな API Gateway へのリクエストも VPC エンドポイントへのリクエストとして解決が行われエラーが発生いたします。
「プライベート DNS 名を有効にする」オプションが有効化されている VPC エンドポイントが VPC に関連づけられている場合に、パブリックな API Gateway にアクセスを行いたい場合、アクセスを行いたいパブリックな API Gateway に対してカスタムドメインの設定を行いカスタムドメインを利用したアクセスをご検討ください。
VPC から API Gateway API に接続するときに「HTTP 403 Forbidden」(HTTP 403 禁止) エラーが発生するのはなぜですか?
プライベート DNS が有効になっている場合は、エッジ最適化カスタムドメイン名またはリージョンのカスタムドメイン名を設定してパブリック API に接続します。
ご利用されたいパブリックな API Gateway に対してカスタムドメインの設定が難しい場合、「プライベート DNS 名を有効にする」オプションを無効化の上、プライベートな API Gateway の呼び出し時はエンドポイント固有のパブリック DNS ホスト名をご利用ください。
プライベート API を呼び出す方法 - Amazon API Gateway
エンドポイント固有のパブリック DNS ホスト名を使用してたプライベート API にアクセスできます。これらは、プライベート API 用の VPC エンドポイント ID または API ID を含むパブリック DNS ホスト名です。
参考資料
VPC から API Gateway API に接続するときに「HTTP 403 Forbidden」(HTTP 403 禁止) エラーが発生するのはなぜですか?
プライベート API を呼び出す方法 - Amazon API Gateway